Discovery and detection of events in interactive content

ABSTRACT

Systems and methods for discovery and detection of events in interactive digital content are provided. A plurality of game titles may be hosted on a gaming network platform, and gameplay data in sessions involving the plurality of game titles may be tracked in real-time. Each session may be associated with a stream. One or more event criteria may be stored for each of a plurality of predefined events of interest. An event of interest may be identified when the tracked gameplay data for a session meets the stored criteria. A list of available streams identified as including the identified event may be sorted, and a subset of the available streams may be identified as being at a top of the list. A notification may be provided to a spectator device, the notification including a link to one of the streams in the subset. The criteria for the event of interest may also be updated based on subsequent game data and feedback (e.g., use of the link).

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 15/908,712 filed Feb. 28, 2018, which is incorporated herein by reference in its entirety

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention generally relates to interactive content. More specifically, the present invention relates to discovery and detection of events occurring during session play of interactive content.

2. Description of the Related Art

There are presently a wide variety of interactive digital content that are available to view through online outlets (e.g., Twitch). Within communities of such online content consumers, highly-skilled or otherwise notable players can achieve celebrity status and attract a large following. Similarly, various online digital games have also seen dramatic increases in popularity and attract an ever increasing number of participants and spectators alike.

Spectators may face difficulties, however, in discovering or identifying content of interest. A spectator of games may avail themselves of a stream from a variety of online media outlets. Such outlets may publish numerous games from numerous players (including players who are not participating in tournaments), however, making it difficult or at least inconvenient for the spectator to identify which games may be of interest. Such inconvenience risks loss of an interested audience of spectators.

The ability to attract, retain, and encourage repeat spectators is especially important to professional and semi-professional players whose gameplay may be sponsored. In addition to players who may be sponsored, commentators and other individuals who may seek to provide content related to tournaments may also face various difficulties in obtaining tournament data.

Particularly difficult for a spectator is identifying events of interest in close to real-time so as to be able to access the associated stream. For example, a particular game session may involve highly-skilled players on the verge of breaking all-time records. Spectators may wish to watch the actual record being broken in as close to real-time as possible. There is currently no way, however, for a spectator to know when such an event is about to occur unless they have knowledge of such records, are already watching, or are notified by friends who are currently watching. Word-of-mouth may not be particularly efficient or effective at informing a prospective spectator in time, however, and the prospective spectator may not be able to access the stream in real-time. In some instances, such delay may mean that the spectator may be “spoiled” as to the outcome or may be forced to wait for the stream to be archived and made available for access.

There is, therefore, a need in the art for improved systems and methods for discovery and detection of events occurring during play of interactive digital content.

SUMMARY OF THE CLAIMED INVENTION

Embodiments of the present invention allow for discovery and detection of events occurring during play of interactive digital content. A plurality of game titles may be hosted on a gaming network platform, and gameplay data in sessions involving the plurality of game titles may be tracked in real-time. Each session may be associated with a stream. One or more event criteria may be stored for each of a plurality of predefined events of interest. An event of interest may be identified when the tracked gameplay data for a session meets the stored criteria. A list of available streams identified as including the identified event may be sorted, and a subset of the available streams may be identified as being at a top of the list. A notification may be provided to a spectator device, the notification including a link to one of the streams in the subset. The criteria for the event of interest may also be updated based on subsequent game data and feedback (e.g., use of the link).

Various embodiments may include systems for discovery and detection of events occurring during play of interactive digital content. Such systems may include at least one game network server that hosts a plurality of game titles and tracks real-time gameplay data in sessions involving the plurality of game titles where each session is associated with a stream. Systems may further include at least one analytics server that stores one or more event criteria for each of a plurality of predefined events of interest, identifies an event when the tracked gameplay data for a session meets the stored criteria, sorts a list of available streams identified as including the identified event, identifies a subset of the available streams as being at a top of the list, and provides a notification to a spectator device that includes a link to one of the streams in the subset.

Further embodiments may include methods for discovery and detection of events occurring during play of interactive digital content. Such methods may include hosting a plurality of game titles, tracking real-time gameplay data in sessions involving the plurality of game titles where each session associated with a stream, storing one or more event criteria for each of a plurality of predefined events of interest, identifying an event when the tracked gameplay data for a session meets the stored criteria, sorting a list of available streams identified as including the identified event, identifying a subset of the available streams as being at a top of the list, and providing a notification to a spectator device that includes a link to one of the streams in the subset.

Yet further embodiments may include non-transitory computer-readable storage media having embodied thereon programs executable to perform such methods as described above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 an exemplary network environment in which systems for discovery and detection of events occurring during play of interactive digital content may be implemented.

FIG. 2 is a block diagram of an exemplary stream selection engine that may be used in systems for discovery and detection of events occurring during play of interactive digital content.

FIG. 3 is a flowchart illustrating an exemplary method for discovery and detection of events during play of interactive digital content.

FIG. 4 illustrates an example of an electronic system with which some aspects of the subject technology can be implemented.

DETAILED DESCRIPTION

Embodiments of the present invention allow for discovery and detection of events occurring during play of interactive digital content. A plurality of game titles may be hosted on a gaming network platform, and gameplay data in sessions involving the plurality of game titles may be tracked in real-time. Each session may be associated with a stream. One or more event criteria may be stored for each of a plurality of predefined events of interest. An event of interest may be identified when the tracked gameplay data for a session meets the stored criteria. A list of available streams identified as including the identified event may be sorted, and a subset of the available streams may be identified as being at a top of the list. A notification may be provided to a spectator device, the notification including a link to one of the streams in the subset. The criteria for the event of interest may also be updated based on subsequent game data and feedback (e.g., use of the link).

FIG. 1 illustrates an exemplary network environment 100 in which a system for discovery and detection of events occurring during play of interactive digital content may be implemented. Network environment 100 includes public network 102, which can include one or more private networks, such as, a local area network (LAN), a wide area network (WAN), or a network of public/private networks, such as the Internet. The Internet is a broad network of interconnected computers and servers allowing for the transmission and exchange of Internet Protocol (IP) data between user devices connected through a network service provider. Examples of network service providers are the public switched telephone network, a cable service provider, a provider of digital subscriber line (DSL) services, or a satellite service provider. Public network 102 allows for communication between the various components of network environment 100. Public network 102 is communicatively coupled to gaming network 104, which may further provide a network of computing resources configured for implementing event detection system 112.

Spectators may include players 108-110, who may access gaming network 104 and event detection system 112 using their respective client devices (e.g., 108A-110A). Although client devices 108A-110A, are depicted as game console devices, it is understood that the client devices can include various types of processor-based systems, including but not limited to: personal computing devices, smartphones, tablets, other portable gaming devices, and the like. Such client devices 108A-110A may also be configured to access data from other storage media, such as memory cards or disk drives as may be appropriate in the case of downloaded services. Client devices 108A-110A may include standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions that may be stored in memory. Example of hardware systems that can be used to implement the client device are discussed in further detail below with respect to FIG. 4.

Spectators may also include developers or other parties (e.g., 105-107), who may also access gaming network 104 and event detection system 112 via their respective computing systems (e.g., 105A-107A). Developer computing systems 105A-107A may include any type of server or other computing device as is known in the art, including standard hardware computing components such as network and media interfaces, non-transitory computer-readable storage (memory), and processors for executing instructions or accessing information that may be stored in memory. The functionalities of multiple servers may be integrated into a single server. Any of the aforementioned servers (or an integrated server) may take on certain client-side, cache, or proxy server characteristics. These characteristics may depend on the particular network placement of the server or certain configurations of the server. It is understood that a greater (or fewer) number of players and/or developers can be engaged with environment 100, without departing from the scope of the disclosed technology.

The players 108-110 may be registered with a user account associated with gaming network 104. Such user accounts may allow the user to access and play a variety of media titles on the gaming network platform. Gaming network 104 may further provides its registered users with options for verified accounts (e.g., for professional, semi-pro, or other celebrity users), team management, community tools, events tracking, social tools (e.g., friends lists), following other accounts, instant messaging, browsing live and archived streams, and other features related to playing or spectating games on the platform.

Gaming network 104 may be integrated with event detection system 112 so as to allow for automatic communication of gameplay data. The gameplay data can be received by event detection system 112, for example, using an application programming interface (API), such as API 114. Subsequently, the gameplay data can be passed from API 114 to statistics module 116 for use in analysis. In a similar manner, game-play statistics can be collected by API 114 and passed to statistics module 116. Depending on implementation, gameplay statistics can be collected via active monitoring of an online game environment, or received from one or more external systems, for example, as part of a game performance data set that includes information describing individual player performance for one or more game titles and/or genre categories.

Because the metrics that are used to evaluate player performance for a particular game can vary widely between game title and type, the ability to rank and seed players require consideration of certain metrics. Such metrics may be converted from data generated in existing game titles or may be tracked at the platform during certain specified gameplay modes.

To convert a legacy game title, a conversion key—provided by the game title developer or another party—may be applied to specific game-performance attributes so as to evaluate different players' performance relating to the game title in a standardized way. For example, the conversion key may extract and evaluate certain metrics (e.g., number of points scored, number of points allowed, number of kills, race times) with appropriate weights applied to each metric. Legacy game titles that rank each user using basic points-based systems may be mapped directly via percentiles of the ranked players. Certain predefined in-game events of interest may be correlated to a set of game data indicative of the same. Such correlation may be provided by the developer, another party, or may be derived by applying artificial intelligence to a set of game data associated with the game title.

Such standardization further allows for an objective comparison of skill level, which may provide a basis for rankings. Different genres of games—and different roles within each game—may involve different standards. Team-based gameplay, for example, may involve teammates with different types of skill sets (e.g., different weaponry, resources, in-game abilities, powers, etc.). As such, the game play of different team members may be evaluated in accordance with the different standards despite playing in the same game title.

Designations of achievement or skill level can be provided based on the overall ranking of a player or group of players. For example, digital badges, trophies, or medals can be provided to the top-ranked player (or player team), and published on an associated player (or team) profile. Such designations may be awarded as to a current season and remain visible in future seasons. Different designations may be provided for different game titles, different combinations of achievements, overall ratings, etc. Not only can such designations and tier levels serve as the basis for matching competitors, but such indicators may be searched by spectators looking to watch players of a certain level in a certain game title. Various search and sorting options may be provided (e.g., game title, ranking, stream parameters) so that players or potential spectators may filter through the available game streams, players, teams, tournaments, etc. to find other players of interest. A player may wish to find a similarly-skilled practice sparring partner, for example, or a teammate with complementary skills. Such spectators may choose to follow such players, for example, and request notifications, reminders, and schedules relating to matches involving the player(s) of interest. In some embodiments, such designations may be made available through other outlets (e.g., stream sources such as Twitch) for searching and filtering based on a standardized skill evaluation system.

Different ranking systems may be available for different game titles. Moreover, different ranking systems may be available for tournaments. A tournament may involve multiple game titles, for example, and as such, a ranking system may combine and/or weight different individual rankings within the game titles in a manner that may be customized to individual spectators or for certain audiences. An overall ranking for any combination of games played on the platform may also be available. As such, a player may distinguish themselves as a skilled player not only in one or a few game titles (or even a game family or genre), but within multiple different types of games.

Such rankings may be considered by various spectator tools provided to enable users to discover, tune in, watch, and interact in relation to the tournament. Discovery may involve providing certain kinds of information (e.g., from player or team profiles) so that a would-be spectator may determine whether a player, team, match, tournament, commentator, or other content producer/streamer may be of interest. A spectator—who may have their own user account—may further subscribe or follow a player, team, game title, or tournament of interest. Such a subscriber may therefore be provided with automatic notifications based on certain events or activities (e.g., scores, lead changes, game results, standings after each round, updated brackets) detected on the platform as being related to the subject of interest.

The event detection system 112 may further provide a way for spectators having access (e.g., via a user account) to the gaming network platform 104 to discover digital content of interest based on detected events. Because the registering spectator may already have a user account, such discovery and detection may be based on user account information linked or otherwise accessed via gaming network 104, which may also server as bases for broadcast/stream production. A user account may be associated with a group of friends (or fans, followers, or subscribers), for example, which may be a basis for making recommendations, organizing spectator watch parties, or supporting interaction around spectating. For game titles that may be played in teams, a team may be associated with a team account or profile that includes such data for use by event detection system 112. Such a team profile may be linked to the individual team member profiles.

Information regarding each individual player's or team's progress or activities within gaming network 104 may be automatically populated to the respective player or team profile. For example, a player profile may be tagged or include some other indicator that the player is participating in a particular game, what ranking the player has achieved, schedule of games, opponents (and associated rankings), real-time game data related to the player, links to streams of previously played games, links to active games, information regarding future scheduled games (e.g., in tournament-style play), etc.

Moreover, a spectator looking to observe a particular player may be linked to information regarding tournament streams involving the player of interest, as well as other tournament information regarding the player. In addition, a spectator looking specifically to observe tournament matches may be linked to active tournament streams of ongoing matches, as well as be provided with the latest updates regarding the tournament.

In addition to spectators with express interests (e.g., survey results, user account information, preferences, subscriptions within the gaming network platform 104), event detection system 112 may further make predictions as to what digital content may be of interest to a particular spectator. In addition, events taking place within the digital environment may be identified as being of interest.

Moreover, because the event detection system 112 is in communication with gaming network 104, the event detection system 112 may receive and analyze game data in real-time. As such, event detection system 112 may detect when a game has started, when the game is particularly active or competitive, and other notable in-game events. For example, certain in-game events may be associated with certain game data or metrics. Use of certain weaponry, exhibition of certain character moves or maneuvers, scoring in a certain amount or pattern, etc., may be indicative of an unusual or otherwise notable in-game event.

Event detection system 112 may apply elements of artificial intelligence and machine learning to game data obtained via gaming network 104. As each game is played, additional game data may be added to the learning set to refine the ability of event detection system 112 to identify digital content that may be of interest to a particular spectator. Such game data may include not only in-game statistics that are expressly captured by the game title (e.g., scores), but may further include metrics that may be derived based on various analytics. In addition, event detection system 112 may consider data associated with but external to the game. For example, such data may include sensor data (including accelerometer), biometric data, camera data, eye tracking data, comparisons to historical or opponent data, Easter eggs, rarity or unusual nature of data (e.g., location in rarely-visited parts of the game environment, encounters with rarely-met characters, obtaining rare objects or powers), current audience data (and their respective user profiles), etc.

Certain indicators may be known to be associated with events of interest, either to a particular spectator or generally. Such indicators may include degree of fame or connectedness of the player/team, current audience size (e.g., general or among a spectator's social circle) and growth, amount of sharing or other activity related to the game, rank or record of player/team, excited gestures or actions (as captured by cameras) by players or current audience members, excited chatter in chatrooms or other types of message boards (e.g., hosted by gaming network 104), excited utterances (as captured by microphones), biometric indicators (e.g., elevated heartrate, dilated pupils) by player/team or spectators, immediacy of winning, losing, or breaking certain game records (e.g., highest score in a game title on gaming network 104), unusual moves or maneuvers or exercises of powers, size of disparities in rank (e.g., upset of highly ranked player/team by low-ranked player/team). Such factors may be evaluated with respect to the timing of the game to identify time periods during which a cluster of such factors may be concentrated. Further, certain data may be weighted and their weights adjusted over time as the learning data set evolves.

Upon detection of an event of interest, screenshots or video may be captured regarding such events and published with links that can take a spectator to the stream, whether at the beginning of the game or directly to the point of interest. Such links may be accessed in real-time (e.g., as the game is occurring) or in association with an archived stream. In some embodiments, such links may be published on the gaming network 104 platform (e.g., landing pages, leaderboards, communities, forums, user profiles, team profiles, tournament profiles, bookmarks) or on sites associated with the player, team, developer, broadcaster, other content producer or streamer, or other spectator.

The identification of unusual, interesting, or otherwise significant events may also allow for advertising, promotion, discovery, and related functions. As such, notifications, reminders, video clips, screenshots, and other data may also be generated and provided to other parties, players, spectators, and potential spectators in real-time regarding such events. Such data may also support commentators and third-party broadcasters/streamers for use in producing their respective content streams.

The events identified within a game session may be further flagged, tagged, or otherwise labeled and made available for both current and archived streams of game play. Moreover, such event identifications may also be used to augment streams provided to general audiences or specific spectators. Such augmentation may include pop-up notifications regarding a variety of statistics, quotes from commentary or other discussion, back story of player/team/opponents, smack talk, links, comparison to historical or other player/team records, immediacy of breaking a record, comparison to spectator's statistics, etc. Records considered may be all-time records on the gaming network 104, game title records, personal records, tournament records, etc. Such flags may also be subsequently used to identify trends (e.g., a player's improvement), turning points, or other long-term developments. As such, the flags may be updated and refined as well over time.

In addition, views of the current or archived stream may be manipulated or re-rendered based on the detected event. Certain in-game perspectives (e.g., a select player in a multiplayer game) may be highlighted, for example, or re-rendered with certain visual effects, including slow-motion, from different angles, different view styles, time-slice effects, etc. In some embodiments, certain stream producers may modify streams for broadcast, which may include visual manipulations and editing. The data regarding such modifications may be added to the learning set so that event detection system 112 may learn what types of events may be of more interest than others, view perspectives or angles that may be more popular for certain events, types of visual effects or manipulations often applied to certain events, etc.

FIG. 2 is a block diagram of an exemplary stream selection engine that may be used in systems for discovery and detection of events occurring during play of interactive digital content. As shown, stream selection engine 205 monitors multiple media streams associated with game session 210 and selects the streams involving the events of interest from popular angles or views. Here, the media streams associated with game session 210 include stream 1, stream 2, stream 3, and stream 4 (e.g., different player perspectives in a multiplayer game) and represent display content or views of live game play in game session 210. The display content can, for example, include individual player views (e.g., first-person perspective views, third-person perspective views, etc.), top-down views, birds-eye views, two-dimensional (2D) views, ¾ views, fixed three-dimensional (3D) views, omnidirectional views, god's-eye views, and other views showing live game play for game session 210.

Stream selection engine 205 further assigns one or more spectator attributes 215 to respective media streams, where each spectator attribute 215 has a corresponding spectator value. Spectator attributes 215 may include any of the factors discussed above, including, for example, user votes, viewership (generally or among friends/followers), associated players or associated player attribute, a historical popularity of a view-type or view angle, and the like. As discussed herein, the terms “spectator attribute” and/or “spectator value” are used synonymously, and generally correspond to an interest, popularity, or preference for respective media streams. The spectator value can reflect a current preference or popularity or it can reflect a trend such as changes or derivatives of the current preferences for a given time period. Generally, higher or larger spectator values represent a stronger preference; however any value system may be used, as is appreciated by those skilled in the art.

In operation, stream selection engine 205 monitors media streams 1-4 and continuously updates respective spectator attributes/values 215 during live game play in game session 210 based, in part, on current user inputs. With respect to user inputs, the multi-user platform and/or stream selection engine 205 provide a user input interface that includes interactive graphical elements to solicit and receive input from current spectators during the live game play. Examples of spectator inputs that indicate interest or preference in a particular media stream include votes, viewership, or other indications of preference for the media stream. As discussed below, one or more of these spectator attributes may be considered independently or in combination with other spectator attributes. Further, certain spectator values/attributes represent a weight that applies to other spectator values/attributes, as is appreciated by those skilled in the art. Such spectator inputs (from current spectators) may be compared to user data associated with prospective spectators in determining whether an event occurring during the gameplay session may be of interest.

Still referring to FIG. 2, stream selection engine 205 compares individual or aggregated spectator values for respective media streams during live game play and determines a priority ranking for each media stream in a given time period of live game play. Stream selection engine 205, as discussed, continuously updates respective spectator values 215 during live game play based on current user inputs and further compares or ranks spectator values for corresponding media streams to determine user preferences for viewing one media stream over another media stream. Stream selection engine 205 further designates one of the media streams to broadcast for a given time period based on its then-current priority rank. The media stream designated for the given time period is further broadcast in a spectator channel 220 over the network. As shown, spectator channel 320 represents an integration of portions of each designated media stream (for the given time period). Stream selection engine 205 stitches or compiles the portions of currently designated media streams into spectator channel 220. Throughout game session 210, stream selection engine 205 switches between media streams 1-4 based on the priority rank for respective media streams in a given time period. In this fashion, spectator channel 220 provides user-preferred media content that shows different views of live game play during game session 210. Generally, a single media stream is designated to broadcast per given time period. However, it is also appreciated more than one media stream may be broadcast per given time period.

FIG. 3 is a flowchart illustrating an exemplary method 300 for discovery and detection of events in interactive digital content. The method 300 of FIG. 3 may be embodied as executable instructions in a non-transitory computer readable storage medium including but not limited to a CD, DVD, or non-volatile memory such as a hard drive. The instructions of the storage medium may be executed by a processor (or processors) to cause various hardware components of a computing device hosting or otherwise accessing the storage medium to effectuate the method. The steps identified in FIG. 3 (and the order thereof) are exemplary and may include various alternatives, equivalents, or derivations thereof including but not limited to the order of execution of the same.

In method 300 of FIG. 3, predefined event criteria may be maintained for each spectator, a plurality of games may be hosted on the gaming platform, gameplay data for each game session may be tracked, matches between the criteria and the tracked gameplay data may be identified, and streams may be filtered and sorted based on such matches. Further, the filtered and sorted results may be provided to a prospective spectator.

In step 310, predefined criteria may be maintained in memory for certain in-game events. Some game events may already defined within a game, such as scores. Other game events may be notable based on such external information as historical records for the game, fame or celebrity of the player/team, rarity, or strength of current audience reaction. Some factors may be specific to the spectator. For example, a record that is on the verge of being broken may have belonged to a prospective spectator. Or the player who is on the verge of breaking the record may be a friend of the spectator. Such factors may also be associated with certain weights that are specific to the spectator.

In addition, certain conditions may be identified as being common to events known to be of interest (e.g., from archived streams of sessions that have ended). For example, trends may be identified with respect to audience growth over the course of the session, as well as amount and patterns of activity related to the same. Sharing patterns by current audience members, for example, may be indicative that a particularly notable event may be occurring.

In step 320, multiple games may be hosted on the gaming network 104 platform involving gameplay by any number of players or teams. Game sessions may involve different game titles that are available on gaming network 104.

In step 330, data may be tracked regarding each game session in real-time. Such data may include not only in-game gameplay data, but also analytics and metrics based on the same, spectator data, and external data regarding the player/team. Such games or matches are being played on the gaming network 104 platform by players/teams with account or profiles and watched by spectators with profiles.

In step 340, certain events may be identified within a game session that match the predefined event criteria. As noted above, event detection system 112 may evaluate the respective gameplay data and other data associated with the session in real-time to identify noteworthy in-game events, which may not only include scores or lead changes, but also unusual movement combinations, notable speeds, notable kills, game upsets by underdogs, broken records, etc.

In step 350, the available streams may be filtered and sorted in accordance with the matches identified in step 340. In some instances, the available streams may include archived but unwatched streams, as well as live streams. As noted above, different weighting systems may be used to find the streams most likely to be of interest to the spectator.

In step 360, the filtered and sorted results (e.g., a list of streams) may be displayed to the requesting party. The bases for such filtering and sorting—which may be associated with the notability designations discussed herein—may also be displayed in conjunction with the results, thereby allowing the party (e.g., spectator) to jump not only to a stream of interest, but directly to the notable event depicted within the stream.

FIG. 4 is an exemplary user device 400. User device 400 (e.g., desktop, laptop, tablet, mobile device, console gaming system) is a device that the user can utilize to facilitate carrying out features of the present invention pertaining to the viewing of third party content.

The user device 400 may include various elements as illustrated in FIG. 4. It should be noted that the elements are exemplary and that other embodiments may incorporate more or less than the elements illustrated. With reference to FIG. 4, the user device 400 includes a main memory 402, a central processing unit (CPU) 404, at least one vector unit 406, a graphics processing unit 408, an input/output (I/O) processor 410, an I/O processor memory 412, a controller interface 414, a memory card 416, a Universal Serial Bus (USB) interface 418, and an IEEE 1394 interface 420, an auxiliary (AUX) interface 422 for connecting a tracking device 424, although other bus standards and interfaces may be utilized. The user device 400 further includes an operating system read-only memory (OS ROM) 426, a sound processing unit 428, an optical disc control unit 430, and a hard disc drive 432, which are connected via a bus 434 to the I/O processor 410. The user device 400 further includes at least one tracking device 424.

The tracking device 424 may be a camera, which includes eye-tracking capabilities. The camera may be integrated into or attached as a peripheral device to user device 400. In typical eye-tracking devices, infrared non-collimated light is reflected from the eye and sensed by a camera or optical sensor. The information is then analyzed to extract eye rotation from changes in reflections. Camera-based trackers focus on one or both eyes and record their movement as the viewer looks at some type of stimulus. Camera-based eye trackers use the center of the pupil and light to create corneal reflections (CRs). The vector between the pupil center and the CR can be used to compute the point of regard on surface or the gaze direction. A simple calibration procedure of the viewer is usually needed before using the eye tracker.

Alternatively, more sensitive trackers use reflections from the front of the cornea and that back of the lens of the eye as features to track over time. Even more sensitive trackers image features from inside the eye, including retinal blood vessels, and follow these features as the eye rotates.

Most eye tracking devices use a sampling rate of at least 30 Hz, although 50/60 Hz is most common. Some tracking devises run as high as 1250 Hz, which is needed to capture detail of very rapid eye movement.

A range camera may instead be used with the present invention to capture gestures made by the user and is capable of facial recognition. A range camera is typically used to capture and interpret specific gestures, which allows a hands-free control of an entertainment system. This technology may use an infrared projector, a camera, a depth sensor, and a microchip to track the movement of objects and individuals in three dimensions. This user device may also employ a variant of image-based three-dimensional reconstruction.

The tracking device 424 may include a microphone integrated into or attached as a peripheral device to user device 400 that captures voice data. The microphone may conduct acoustic source localization and/or ambient noise suppression.

Alternatively, tracking device 424 may be the controller of the user device 400. The controller may use a combination of built-in accelerometers and infrared detection to sense its position in 3D space when pointed at the LEDs in a sensor nearby, attached to, or integrated into the console of the entertainment system. This design allows users to control functionalities of the user device 400 with physical gestures as well as button-presses. The controller connects to the user device 400 using wireless technology that allows data exchange over short distances (e.g., 30 feet). The controller may additionally include a “rumble” feature (i.e., a shaking of the controller during certain points in the game) and/or an internal speaker.

The controller may additionally or alternatively be designed to capture biometric readings using sensors in the remote to record data including, for example, skin moisture, heart rhythm, and muscle movement.

As noted above, the user device 400 may be an electronic gaming console. Alternatively, the user device 400 may be implemented as a general-purpose computer, a set-top box, or a hand-held gaming device. Further, similar user devices may contain more or less operating components.

CPU 404, vector unit 406, graphics processing unit 408, and I/O processor 410 communicate via system bus 436. Further, the CPU 404 communicates with the main memory 402 via a dedicated bus 438, while the vector unit 406 and the graphics processing unit 408 may communicate through a dedicated bus 440. The CPU 404 executes programs stored in the OS ROM 426 and the main memory 402. The main memory 402 may contain pre-stored programs and programs transferred through the I/O Processor 410 from a CD-ROM, DVD-ROM, or other optical disc (not shown) using the optical disc control unit 432. The I/O processor 410 primarily controls data exchanges between the various devices of the user device 400 including the CPU 404, the vector unit 406, the graphics processing unit 408, and the controller interface 414.

The graphics processing unit 408 executes graphics instructions received from the CPU 404 and the vector unit 406 to produce images for display on a display device (not shown). For example, the vector unit 406 may transform objects from three-dimensional coordinates to two-dimensional coordinates, and send the two-dimensional coordinates to the graphics processing unit 408. Furthermore, the sound processing unit 430 executes instructions to produce sound signals that are outputted to an audio device such as speakers (not shown).

A user of the user device 400 provides instructions via the controller interface 414 to the CPU 404. For example, the user may instruct the CPU 404 to store certain information on the memory card 416 or instruct the user device 400 to perform some specified action.

Other devices may be connected to the user device 400 via the USB interface 418, the IEEE 1394 interface 420, and the AUX interface 422. Specifically, a tracking device 424, including a camera or a sensor may be connected to the user device 400 via the AUX interface 422, while a controller may be connected via the USB interface 418.

The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASHEPROM, and any other memory chip or cartridge.

Various forms of transmission media may be involved in carrying one or more sequences of one or more instructions to a CPU for execution. A bus carries the data to system RAM, from which a CPU retrieves and executes the instructions. The instructions received by system RAM can optionally be stored on a fixed disk either before or after execution by a CPU. Various forms of storage may likewise be implemented as well as the necessary network interfaces and network topologies to implement the same.

The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claim. 

What is claimed is:
 1. A method for augmenting in-stream events, the method comprising: tracking information regarding a plurality of streams; storing event criteria for one or more predefined events of interest; identifying that statistics corresponding to data from one or more external sources are associated with one or more of the streams, wherein at least one set of the statistics is identified as associated with an identified time period within at least one of the streams; defining an event at the identified time period within the at least one stream when the at least one set of statistics for the identified time period meets the stored event criteria; and modifying one or more views of the event defined within the at least one stream, wherein modifying the views includes augmenting the at least one stream in accordance with the data from the external sources associated with the at least one set of statistics.
 2. The method of claim 1, wherein the at least one stream is accessible via a link, wherein the link is associated with a screenshot or video corresponding to one of the modified views of the event.
 3. The method of claim 2, further comprising sending the link over a communication network to a user device, wherein the link is selectable to access the at least one stream from a stream source in real-time or from an archive.
 4. The method of claim 1, wherein data from the external sources includes information indicative of gameplay performance within one or more game titles or genre categories.
 5. The method of claim 1, wherein the data from the external sources includes at least one of sensor data, biometric data, camera data, eye tracking data, historical data, opponent data, current audience data and unusual data.
 6. The method of claim 5, wherein the unusual data corresponds to a specified rarity within a game title and includes at least one of unusual in-game locations, unusual characters, and unusual objects.
 7. The method of claim 1, wherein modifying the one or more views of the event further includes highlighting one or more in-game perspectives or re-rendering with one or more visual effects.
 8. The method of claim 1, further comprising adding the data from the one or more external sources and the modified views to a learning set of an artificial intelligence learning system that refines identification of the events of interest, the learning set updated over time.
 9. The method of claim 8, further comprising weighting the data in the learning set, and adjusting the weighting over time.
 10. A system for augmenting in-stream events, the system comprising: a communication interface that receives tracked information regarding a plurality of streams; memory that stores event criteria for one or more predefined events of interest; and a processor that executes instructions stored in memory, wherein the processor executes the instructions to: identify that statistics corresponding to data from one or more external sources are associated with one or more of the streams, wherein at least one set of the statistics is identified as associated with an identified time period within at least one of the streams; define an event at the identified time period within the at least one stream when the at least one set of statistics for the identified time period meets the stored event criteria; and modify one or more views of the event defined within the at least one stream, wherein modifying the views includes augmenting the identified stream in accordance with the data from the external sources associated with the at least one set of statistics.
 11. The system of claim 10, wherein the at least one stream is accessible via a link, wherein the link is associated with a screenshot or video corresponding to one of the modified views of the event.
 12. The system of claim 11, wherein the communication interface further sends the link over a communication network to a user device, wherein the link is selectable to access the at least one stream from a stream source in real-time or from an archive.
 13. The system of claim 10, wherein data from the external sources includes information indicative of gameplay performance within one or more game titles or genre categories.
 14. The system of claim 10, wherein the data from the external sources includes at least one of sensor data, biometric data, camera data, eye tracking data, historical data, opponent data, current audience data and unusual data.
 15. The system of claim 14, wherein the unusual data corresponds to a specified rarity within a game title and includes at least one of unusual in-game locations, unusual characters, and unusual objects.
 16. The system of claim 10, wherein the processor modifies the one or more views of the event further by highlighting one or more in-game perspectives or re-rendering with one or more visual effects.
 17. The system of claim 10, wherein the memory further stores a learning set of an artificial intelligence learning system that refines identification of the events of interest, and wherein the data from the one or more external sources and the modified views is added to the learning set, the learning set updated over time.
 18. The system of claim 18, wherein the processor executes further instructions to weight the data in the learning set and to adjust the weighting over time.
 19. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for augmenting in-stream events, the method comprising: tracking information regarding a plurality of streams; storing event criteria for one or more predefined events of interest; identifying that statistics corresponding to data from one or more external sources are associated with one or more of the streams, wherein at least one set of the statistics is identified as associated with an identified time period within at least one of the streams; defining an event at the identified time period within the at least one stream when the at least one set of statistics for the identified time period meets the stored event criteria; and modifying one or more views of the event defined within the at least one stream, wherein modifying the views includes augmenting the identified stream in accordance with the data from the external sources associated with the at least one set of statistics. 